package com.hmall.api.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;

/**
 * 交易服务Feign客户端
 * 功能：通过Feign远程调用trade-service的订单状态更新接口
 */
@FeignClient("trade-service") // 指定目标服务名，用于服务发现
public interface TradeClient {

    /**
     * 标记订单支付成功
     * @param orderId 订单ID
     * @apiNote 对应trade-service的PUT /orders/{orderId}接口
     */
    @PutMapping("/orders/{orderId}") // 映射服务的请求路径和方法
    void markOrderPaySuccess(
            @PathVariable("orderId") Long orderId // 路径变量，替换URL中的占位符
    );
}